<?php

namespace backend\models;

use common\models\business\AlbumBusiness;
use common\models\db\Album;
use common\models\output\Response;
use yii\base\Model;

class AlbumForm extends Model {

    public $id;
    public $name;
    public $active;
    public $home;
    public $description;

    public function rules() {
        return [
            [['name','description'], 'required', 'message' => '{attribute} không được để trống'],
            [['active', 'id', 'home'], 'integer'],
            [['name','description'], 'string','message' => '{attribute} ký tự'],
        ];
    }

    public function attributeLabels() {
        return [
            'name' => 'Tên',
            'description' => 'Mô tả',
        ];
    }

    public function save() {
        if (!$this->validate()) {
            return new Response(false, "Dữ liệu không chính xác vui lòng nhập lại", $this->errors);
        }

        $album = AlbumBusiness::get($this->id);
        if ($album == null) {
            $album = new Album();
            $album->createTime = time();
        }
        $album->name = $this->name;
        $album->description = $this->description;
        $album->active = $this->active == 1 ? 1 : 0;
        $album->home = $this->home == 1 ? 1 : 0;
        $album->updateTime = time();

        if (!$album->save(false)) {
            return new Response(false, "Dữ liệu truyền vào không chính xác vui lòng nhập lại", $album->errors);
        }

        return new Response(true, "Change Album success", $album);
    }


}
